namespace LiJ.Pay.WeiXin.Cash.Mos
{
	/// <summary>
	///  发送红包请求请求实体
	/// </summary>
	public class WxPaySendRedReq : WxPayBaseReq
	{
		/// <summary>   
		///    商户订单号 必填 String(28) 商户订单号（每个订单号必须唯一）组成：mch_id+yyyymmdd+10位一天内不能重复的数字。接口根据商户订单号支持重入，如出现超时可再调用。
		/// </summary>  
		public string mch_billno
		{
			get;
			set;
		}

		/// <summary>   
		///    商户名称 必填 String(32) 红包发送者名称
		/// </summary>  
		public string send_name
		{
			get;
			set;
		}

		/// <summary>   
		///    用户openid 必填 String(32) 接受红包的用户用户在wxappid下的openid
		/// </summary>  
		public string re_openid
		{
			get;
			set;
		}

		/// <summary>   
		///    付款金额 必填 int 付款金额，单位分
		/// </summary>  
		public int total_amount
		{
			get;
			set;
		}

		/// <summary>   
		///    红包发放总人数 必填 int 红包发放总人数total_num=1
		/// </summary>  
		public int total_num
		{
			get;
			set;
		}

		/// <summary>   
		///    红包祝福语 必填 String(128) 红包祝福语
		/// </summary>  
		public string wishing
		{
			get;
			set;
		}

		/// <summary>   
		///    Ip地址 必填 String(15) 调用接口的机器Ip地址
		/// </summary>  
		public string client_ip
		{
			get;
			set;
		}

		/// <summary>   
		///    活动名称 必填 String(32) 活动名称
		/// </summary>  
		public string act_name
		{
			get;
			set;
		}

		/// <summary>   
		///    备注 必填 String(256) 备注信息
		/// </summary>  
		public string remark
		{
			get;
			set;
		}

		/// <summary>   
		///    场景id 可空 String(32) 发放红包使用场景，红包金额大于200时必传，
		/// PRODUCT_1:商品促销，PRODUCT_2:抽奖，
		/// PRODUCT_3:虚拟物品兑奖 ，PRODUCT_4:企业内部福利，
		/// PRODUCT_5:渠道分润，PRODUCT_6:保险回馈，
		/// PRODUCT_7:彩票派奖，PRODUCT_8:税务刮奖
		/// </summary>  
		public string scene_id
		{
			get;
			set;
		}

		public string risk_info
		{
			get;
			set;
		}

		/// <summary>   
		///    资金授权商户号 可空 String(32) 资金授权商户号服务商替特约商户发放时使用
		/// </summary>  
		public string consume_mch_id
		{
			get;
			set;
		}

		/// <summary>
		///  设置当前实体中的字段值
		/// </summary>
		protected override void SetSignDics()
		{
			base.SetSignDics();
			base.SetDicItem("mch_billno", this.mch_billno);
			base.SetDicItem("send_name", this.send_name);
			base.SetDicItem("re_openid", this.re_openid);
			base.SetDicItem("total_amount", this.total_amount);
			base.SetDicItem("total_num", this.total_num);
			base.SetDicItem("wishing", this.wishing);
			base.SetDicItem("client_ip", this.client_ip);
			base.SetDicItem("act_name", this.act_name);
			base.SetDicItem("remark", this.remark);
			base.SetDicItem("scene_id", this.scene_id);
			base.SetDicItem("risk_info", this.risk_info);
			base.SetDicItem("consume_mch_id", this.consume_mch_id);
		}
	}
}
